package com.dscyy.readutil;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;

class SwlmObj {
	private String 网址;
	private String 联系人1;
	private String 联系人2;
	private String 经营地址;
	private String 法人名称;
	private String 经营范围;
	private String 企业类型;
	private String 经营模式;
	private String 成立时间;
	private String 人数规模;
	private String 供应商品 = "无";
	public String get网址() {
		return 网址;
	}
	public void set网址(String 网址) {
		this.网址 = 网址;
	}
	public String get联系人1() {
		return 联系人1;
	}
	public void set联系人1(String 联系人1) {
		this.联系人1 = 联系人1;
	}
	public String get联系人2() {
		return 联系人2;
	}
	public void set联系人2(String 联系人2) {
		this.联系人2 = 联系人2;
	}
	public String get经营地址() {
		return 经营地址;
	}
	public void set经营地址(String 经营地址) {
		this.经营地址 = 经营地址;
	}
	public String get法人名称() {
		return 法人名称;
	}
	public void set法人名称(String 法人名称) {
		this.法人名称 = 法人名称;
	}
	public String get经营范围() {
		return 经营范围;
	}
	public void set经营范围(String 经营范围) {
		this.经营范围 = 经营范围;
	}
	public String get企业类型() {
		return 企业类型;
	}
	public void set企业类型(String 企业类型) {
		this.企业类型 = 企业类型;
	}
	public String get经营模式() {
		return 经营模式;
	}
	public void set经营模式(String 经营模式) {
		this.经营模式 = 经营模式;
	}
	public String get成立时间() {
		return 成立时间;
	}
	public void set成立时间(String 成立时间) {
		this.成立时间 = 成立时间;
	}
	public String get人数规模() {
		return 人数规模;
	}
	public void set人数规模(String 人数规模) {
		this.人数规模 = 人数规模;
	}
	public String get供应商品() {
		return 供应商品;
	}
	public void set供应商品(String 供应商品) {
		this.供应商品 = 供应商品;
	}
	@Override
	public String toString() {
		return     "网址,\"" + 网址 + "\", 联系人1,\"" + 联系人1 + "\", 联系人2,\"" + 联系人2 + "\", 经营地址,\"" + 经营地址 + "\", 法人名称,\"" + 法人名称
				+ "\", 经营范围,\"" + 经营范围 + "\", 企业类型,\"" + 企业类型 + "\", 经营模式,\"" + 经营模式 + "\", 成立时间,\"" + 成立时间 + "\", 人数规模,\"" + 人数规模 + "\", 供应商品,\"" + 供应商品 + "\"";
	}
	
}
public class ReadSWLMPages {
	static List<SwlmObj> swlms = new ArrayList<SwlmObj>();
	static List<CompanyInfos> list = new ArrayList<CompanyInfos>();
	
	static Gson g = new Gson();
	
	public static void main(String[] args) throws Exception {
		System.out.println("start");
		File file = new File("D:\\wget\\bin\\swlm");
		File[] tempList = file.listFiles();
		
		for(File f1 : tempList) {
			//System.out.println(f1.getAbsolutePath());
			//processCompanyInfo(f1.getAbsolutePath()); //  read company and website
			if(f1.getName().length()>8) {
				processCompanyDetailInfo(f1.getAbsolutePath(), 0); //  read company detail info
			}
		}
		System.out.println();
	}

	private static int processCompanyDetailInfo(String fileName, int level) throws Exception {

		FileReader reader = new FileReader(fileName);
		BufferedReader br = new BufferedReader(reader);
		String str = null;
		String info = "";
		StringBuffer sb = new StringBuffer("{\"网址\":");
		int user = 1;
		while ((str = br.readLine()) != null) {
			if(str.contains("<link rel=\"canonical\" href=\"")) { // 网址
				info = str.substring(str.indexOf("<link rel=\"canonical\" href=\"")+"<link rel=\"canonical\" href=\"".length(), str.indexOf("/>")-3);
				sb.append("\""+info+"\",");
			}
			if(str.contains("<td class=\"de-feature\">")) {
				info = str.replaceAll("<td class=\"de-feature\">", "").replaceAll("</td>", "");
				info = info.trim().replace("：", "");
				if(info.equals("联系人")) {
					info += (user++);
				}
				sb.append("\""+info+"\":");
			}
			if(str.contains("<td class=\"de-value-l8\">")) {
				info = str.replaceAll("<td class=\"de-value-l8\">", "").replaceAll("</td>", "");
				sb.append("\""+info.trim()+"\",");
			}
			if(str.contains("供应商品</a>")) {
				sb.append("供应商品:\"有\",");
			}
		}
		sb = sb.delete(sb.length()-1, sb.length());
		sb.append("}");
		// System.out.println(sb.toString());
		if(sb.length()>20) {
			SwlmObj obj = g.fromJson(sb.toString(), SwlmObj.class);
			System.out.println(obj);
			swlms.add(obj);
		}
		br.close();
		reader.close();
		return level;
	}

	private static void processCompanyInfo(String fileName) throws Exception {
		FileReader reader = new FileReader(fileName);
		BufferedReader br = new BufferedReader(reader);
		String str = null;
		String info = "";
		String name;
		while ((str = br.readLine()) != null) {
			if(str.contains("<div class=\"clearfix\"><a target=\"_blank\" href=\"")) {
				info = str.substring(str.indexOf("<div class=\"clearfix\"><a target=\"_blank\" href=\"")+"<div class=\"clearfix\"><a target=\"_blank\" href=\"".length(), str.indexOf("/\" class=\"L f16\""));
				name = str.substring(str.indexOf("class=\"L f16\" title=\"")+"class=\"L f16\" title=\"".length(), str.indexOf("</a></div>"));
				name = name.replace("\">", "");
				name = name.substring(0, name.length()/2);
//				System.out.println(info + " " + name);
				System.out.println("wget -O "+ name+".html "+ info);
//				System.out.println(str);
			}
		
		}
		br.close();
		reader.close();
		
	}

	private static int processCompanyInfo(String str, int level) {
		String info = "";
		if(str.contains("<a class=\"col-sm-10 company-name\" href=\"")) { // 网址
			level = 0;
			info = str.substring(str.indexOf("<a class=\"col-sm-10 company-name\" href=\"") + "<a class=\"col-sm-10 company-name\" href=\"".length(), str.length()-1);
			System.out.println("网址："+info);
//			c.setWeb(info);
		}
		if(str.contains("target=\"_blank\">")) { // 名称
			level = 0;
			info = str.substring(str.indexOf("target=\"_blank\">") + "target=\"_blank\">".length(), str.length()-4);
			System.out.println("名称："+info);
//			c.setName(info);
		}
		if(str.contains("<span>联系人：") || str.contains("<span>电话：") || str.contains("<span>手机：") || str.contains("<span>邮箱：") || str.contains("<span>地址：") || str.contains("<span>产品服务：")) { // 联系人
			level = 1;
		}
		if(level > 0) {
			if(str.contains("</div>")) {
				level = -1;
			}else {
				if(!str.trim().equals("")) {
					System.out.println(str.trim().replaceAll("<span>", "").replaceAll("</span>", "").replaceAll("<div class=\"about\">", ""));
				}
					
			}
		}
		
		return level;
	}
}
